Electronic storage of business information has become ubiquitous in today's business environment. Advances in electronic storage technology have made feasible the storage of vast amounts of electronic information as ever-larger storage capacity devices are introduced. In particular, as electronic storage densities increase and the cost of electronic storage decreases, businesses are eagerly adopting comprehensive electronic storage procedures for storing their business information. Additionally, the proliferation and widespread acceptance of electronic business transactions and communications has fueled significant demand for voluminous electronic storage capacity. Typically, businesses will store electronic information in electronic storage devices, often referred to as data repositories or data stores. Databases of electronic information may be maintained in the data repositories, and the information may be organized as a series of objects, each object including one or more attributes that may take values.
To effectively use electronic storage systems, users may frequently need to search for objects, attributes, or electronic information within the database. In one search interface, a user may be presented a search entry field, and may enter search terms and Boolean operators. For example, the user may enter “tennis AND racquet” in a search field to request a database search for objects that include a field with value “tennis” and a field with value “racquet.” In this case, the user explicitly entered the logical “AND” Boolean operator to indicate that results including “tennis” and “racquet” entries were desired. As another example, a user may enter “(tennis AND racquet) OR football” in a search field to request a database search for objects that include a field with value “tennis” and a field with value “racquet,” as well as for objects that include a field with value “football.” Here, in addition to entering logical operators (AND, OR), the user has entered grouping elements—the parentheses—to specify a desired ordering of input criteria. However, some users may not be skilled in the intricacies of Boolean logic and may be uncomfortable entering search criteria that includes Boolean operators. Similarly, users may not be comfortable entering grouping elements with search criteria, especially as search request complexity increases.
In another example of a search interface, a user is presented with several search fields where input search terms may be entered. The user is simultaneously presented with a selection box labeled “Find links that match,” and having two selection box choices: “ANY,” and “ALL.” If the user selects the “ANY” option, the search will identify objects having any of the entered search terms—so long as an object has at least one of the entered terms, it will be identified. If the user alternatively selects the “ALL” option, the search will only identify objects having all of the entered search terms. Users of this search interface must make an additional choice and take an additional action in addition to entering search values. Also, search complexity is limited, as only two such choices are possible.